package com.sigerap.insumo.action;

import java.util.List;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.sigerap.insumo.model.Insumo;
import com.sigerap.insumo.model.InsumoProveedor;
import com.sigerap.insumo.service.InsumoService;
import com.sigerap.proveedor.model.Proveedor;
import com.sigerap.proveedor.service.ProveedorService;


/**
 * 
 * @author Spirit-20121
 *
 */
public class RegistrarInsumoAction extends ActionSupport implements ModelDriven<Insumo>{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Proveedor proveedor;
	private List<Proveedor> proveedores;
	private ProveedorService service;
	private Insumo insumo;
	private InsumoProveedor insumoProveedor;
	private InsumoService service1;
	private List<Insumo> insumos;
	private String mensaje;
	@Override
	public Insumo getModel() {
		// TODO Auto-generated method stub
		return null;
	}
	
	public RegistrarInsumoAction(){
		service=new ProveedorService();
		service1=new InsumoService();
	}
	
	public String execute()throws Exception{
		String retorno="exito";
		
		try{
			insumo=service1.registrarInsumo(insumo);
			mensaje="Registro Satisfactorio";
			
		}catch(Exception ex){
			retorno="sin exito";
			mensaje=ex.getMessage();
			
		}	
		insumo=service1.buscarInsumoByNombre(insumo);
		insumoProveedor.setCodInsumo(insumo.getCodInsumo());
		System.out.println("seteo en ip"+ insumoProveedor.getCodInsumo());
		insumoProveedor=new InsumoProveedor();
		insumoProveedor.setRazonSocial(proveedor.getRazonSocial());
		System.out.println("seteto razon en ip"+insumoProveedor.getRazonSocial());		
		try{
			insumoProveedor=service1.registrarInsumoProveedor(insumoProveedor);
			System.out.println("inserto ip action!!");
			mensaje="registro Satisfactorio";
		}catch(Exception ex){			
			mensaje=ex.getMessage();
			System.out.println(proveedor.getRazonSocial()+" catch "+insumo.getNombre());
		}
		proveedor=service.buscarProveedorByRazon(proveedor);
		proveedores=service.listarProveedores();
		insumos=service1.listarInsumos();
		insumo=service1.buscarInsumoByNombre(insumo);
		return retorno;
	}

	public Proveedor getProveedor() {
		return proveedor;
	}

	public void setProveedor(Proveedor proveedor) {
		this.proveedor = proveedor;
	}

	public List<Proveedor> getProveedores() {
		return proveedores;
	}

	public void setProveedores(List<Proveedor> proveedores) {
		this.proveedores = proveedores;
	}

	public Insumo getInsumo() {
		return insumo;
	}

	public void setInsumo(Insumo insumo) {
		this.insumo = insumo;
	}

	public InsumoProveedor getInsumoProveedor() {
		return insumoProveedor;
	}

	public void setInsumoProveedor(InsumoProveedor insumoProveedor) {
		this.insumoProveedor = insumoProveedor;
	}

	public List<Insumo> getInsumos() {
		return insumos;
	}

	public void setInsumos(List<Insumo> insumos) {
		this.insumos = insumos;
	}

	public String getMensaje() {
		return mensaje;
	}

	public void setMensaje(String mensaje) {
		this.mensaje = mensaje;
	}

}
